Field of the Disclosure
The present disclosure relates generally to processing systems and, more particularly, to timer management in processing systems.
Description of the Related Art
Processing systems implementing parallel processing increasingly rely on numerous timers to track various tasks. Most timer management systems treat timers not as physical counters, but rather as data elements allocated and instantiated in linked lists tied to a timer ring. Typically, each timer is assigned a unique timer identifier (ID) to facilitate timer identification. When the timer expires, an expiration notification is broadcast throughout the processing system so as to notify the owner of the timer that the timer has expired. It often takes considerable time for the expiration notification to traverse the signal pathways to the owner of the timer, and there is the possibility that the timer ID may be assigned to another timer while the expiration notification is in flight. This can introduce a coherency issue in the event that the original timer owner does not receive the expiration notification, or in the event that the original timer owner is not yet finished using the timer (the original owner may want to reset the timer, for example). In such instances, the same timer ID may be inadvertently assigned to two or more timers, and thus it may be unclear as to the source of a timer command referencing a particular timer ID.